1. Field of the Invention
Embodiments of the invention relate generally to information processing systems. More specifically, embodiments of the invention provide a system and method for providing improved processing of video data.
2. Description of the Related Art
The resolution of graphical and video formats has continued to improve in recent years. As an example, the current high definition video standard supports resolution rates of 1920×1080 pixels resulting in over two million pixels of video data per video frame. The need to process these large volumes of video data, which includes encoding operations such as compression, transcoding, and scaling, has resulted in the development of more powerful processors.
However, it is not uncommon for the full power of these processors to be underutilized. In some cases, a stream of video data is processed by a single processor of a multi-processor central processing unit, even though the remaining processors are idle. In other cases, the video data stream fails to be off-loaded to an available display controller that may include one or more specialized graphic processors. In an effort to address these issues, a number of current video encoder products (e.g., DIVX, Microsoft's Windows Media Video, etc.) provide a means to distribute the processing of video data across multiple processors. However, since many such providers fail to publish supporting documentation, it is often difficult to fully utilize the capabilities they provide.
Another issue is scalability. Some known approaches are optimized for real-time streaming, meaning you cannot “look ahead in time.” As a result, scaling linearly using multiple processors becomes challenging. Other approaches include segmenting a video stream, processing each segment as a single thread, and then merging the processed segments into a resulting output stream. Each of these approaches has attendant advantages and disadvantages. In view of the foregoing, there is a need to more fully utilize the resources provided by multiple processors to improve the processing of video data.